package com.sky.utils;

import org.springframework.util.StringUtils;

import java.util.UUID;

public class TokenUtils {
    // Redis中存储token的键前缀
    public static final String TOKEN_KEY_PREFIX = "employee:token:";

    /**
     * 使用UUID生成随机token（UUID去除横线）
     */
    //无参方法，返回一个String类型，任何调用generateToken()方法的代码都会收到一个返回值
    public static String generateToken() {
        return UUID.randomUUID().toString().replace("-", "");
    }

    /**
     * 构建Redis存储token的键名
     */
    //构建redis中存储token的键名，给调用这个方法的代码使用
    public static String buildTokenKey(String token) {
        //如果无值，抛出错误
        if (!StringUtils.hasText(token)) {
            throw new IllegalArgumentException("token不能为空");
        }
        return TOKEN_KEY_PREFIX + token;
    }
}
